package main
import "fmt"

type Usber interface {
	start()
	stop()
}

type Phone struct {
}

func (p Phone) start() {
	fmt.Println("手机开始工作")
}

func (p Phone) stop() {
	fmt.Println("手机停止工作")
}

type Computer struct {}

func (c Computer) work(usb Usber) {
	usb.start()
	usb.stop()
}

func main() {
	var computer = Computer{}
	var phone = Phone{}
	// 将phone传给computer的work方法，这个方法要求接收一个Usber类型，此时，phone实现了Usber接口（前提是Phone满足实现Usber接口的条件：Phone实现了Usber接口中的所有方法）
	computer.work(phone)
}